package site.luojie.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import site.luojie.domain.Resume;

import java.util.List;

/**
 * JpaRepository<操作的实体类型,主键类型> : 封装了基本的CRUD操作
 * JpaSpecificationExecutor<操作的实体类型>  : 封装了复杂的查询（分页、排序等）
 *
 * @Description: ResumeRepository
 * @Author jie.luo
 * @Create: 2020-05-18 18:13
 **/
public interface ResumeRepository extends JpaRepository<Resume, Long>, JpaSpecificationExecutor<Resume> {

    /**
     * 使用 jpql
     * @param id
     * @return
     */
    @Query("from Resume where id = ?1")
    List<Resume> findByJpql(Long id);

    /**
     * 使用原生 SQL 语句查询 , 需要设置 nativeQuery = true
     * @param name
     * @return
     */
    @Query(value = "select * from tb_resume where name like ?1", nativeQuery = true)
    List<Resume> findBySql(String name);

    List<Resume> findByNameLikeAndAddress(String name,String address);
}
